home *** CD-ROM | disk | FTP | other *** search
/ Visual Cafe 3 / Visual Cafe 3.ISO / Vcafe / Sample.bin / LoanCalcFrame.java < prev    next >
Text File  |  1998-10-31  |  6KB  |  149 lines

  1. /*
  2.     A basic extension of the java.awt.Frame class
  3.  */
  4.  
  5. import java.awt.*;
  6.  
  7. import symantec.itools.awt.KeyPressManagerPanel;
  8. public class LoanCalcFrame extends Frame {
  9.  
  10.     void Frame1_WindowClosing(java.awt.event.WindowEvent event)
  11.     {
  12.         dispose();         // hide the Frame
  13.     }
  14.  
  15.     public LoanCalcFrame()
  16.     {
  17.         // This code is automatically generated by Visual Cafe when you add
  18.         // components to the visual environment. It instantiates and initializes
  19.         // the components. To modify the code, only use code syntax that matches
  20.         // what Visual Cafe can generate, or Visual Cafe may be unable to back
  21.         // parse your Java file into its visual environment.
  22.         //{{INIT_CONTROLS
  23.         setLayout(new GridBagLayout());
  24.         setSize(591,301);
  25.         setVisible(false);
  26.         PrincipleLabel.setText("Principle =");
  27.         add(PrincipleLabel,new com.symantec.itools.awt.GridBagConstraintsD(0,0,2,2,0.0,0.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(9,65,0,0),0,0));
  28.         PrincipleLabel.setBounds(95,61,72,23);
  29.         InterestLabel.setText("Interest =");
  30.         add(InterestLabel,new com.symantec.itools.awt.GridBagConstraintsD(0,2,1,1,0.0,0.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(18,69,0,0),0,0));
  31.         InterestLabel.setBounds(99,102,65,23);
  32.         LengthLabel.setText("Length of loan(years) =");
  33.         add(LengthLabel,new com.symantec.itools.awt.GridBagConstraintsD(0,3,4,2,0.0,0.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(18,31,0,0),0,0));
  34.         LengthLabel.setBounds(61,143,140,23);
  35.         PaymentsLabel.setText("Monthly payments =");
  36.         add(PaymentsLabel,new com.symantec.itools.awt.GridBagConstraintsD(0,5,3,1,0.0,0.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(18,40,42,0),0,0));
  37.         PaymentsLabel.setBounds(70,184,122,23);
  38.         add(PrincipleTextField,new com.symantec.itools.awt.GridBagConstraintsD(4,0,1,1,0.0,0.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(9,63,0,0),123,-3));
  39.         PrincipleTextField.setBounds(264,61,147,20);
  40.         add(InterestTextField,new com.symantec.itools.awt.GridBagConstraintsD(4,2,1,1,0.0,0.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(18,63,0,0),123,0));
  41.         InterestTextField.setBounds(264,102,147,23);
  42.         add(LengthTextField,new com.symantec.itools.awt.GridBagConstraintsD(4,3,1,2,0.0,0.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(18,63,0,0),123,0));
  43.         LengthTextField.setBounds(264,143,147,23);
  44.         PaymentsTextField.setEditable(false);
  45.         add(PaymentsTextField,new com.symantec.itools.awt.GridBagConstraintsD(4,5,1,1,0.0,0.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(18,63,42,0),123,0));
  46.         PaymentsTextField.setBackground(java.awt.Color.lightGray);
  47.         PaymentsTextField.setBounds(264,184,147,23);
  48.         CalcButton.setActionCommand("button");
  49.         CalcButton.setLabel("Calculate");
  50.         add(CalcButton,new com.symantec.itools.awt.GridBagConstraintsD(5,3,1,1,0.0,0.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(0,39,0,44),0,0));
  51.         CalcButton.setBounds(450,125,66,23);
  52.         setTitle("Loan Calculation");
  53.         //}}
  54.  
  55.         //{{INIT_MENUS
  56.         //}}
  57.  
  58.         //{{REGISTER_LISTENERS
  59.     
  60.         SymAction lSymAction = new SymAction();
  61.         CalcButton.addActionListener(lSymAction);
  62.         Window lWindow = new Window();
  63.         addWindowListener(lWindow);
  64.  
  65.         //}}
  66.  
  67.     
  68.         
  69.     }
  70.  
  71.     public LoanCalcFrame(String title)
  72.     {
  73.         this();
  74.         setTitle(title);
  75.     }
  76.  
  77.  
  78.  
  79.     
  80.  
  81.     boolean fComponentsAdjusted = false;
  82.  
  83.     //{{DECLARE_CONTROLS
  84.     java.awt.Label PrincipleLabel = new java.awt.Label();
  85.     java.awt.Label InterestLabel = new java.awt.Label();
  86.     java.awt.Label LengthLabel = new java.awt.Label();
  87.     java.awt.Label PaymentsLabel = new java.awt.Label();
  88.     java.awt.TextField PrincipleTextField = new java.awt.TextField(15);
  89.     java.awt.TextField InterestTextField = new java.awt.TextField(15);
  90.     java.awt.TextField LengthTextField = new java.awt.TextField(15);
  91.     java.awt.TextField PaymentsTextField = new java.awt.TextField(15);
  92.     java.awt.Button CalcButton = new java.awt.Button();
  93.     //}}
  94.  
  95.     //{{DECLARE_MENUS
  96.     //}}
  97.  
  98.  
  99.  
  100.     class Window extends java.awt.event.WindowAdapter
  101.     {
  102.         public void windowClosing(java.awt.event.WindowEvent event)
  103.         {
  104.             Object object = event.getSource();
  105.             if (object == LoanCalcFrame.this)
  106.                 Frame1_WindowClosing(event);
  107.         }
  108.     }
  109.  
  110.     
  111.  
  112.     class SymAction implements java.awt.event.ActionListener
  113.     {
  114.         public void actionPerformed(java.awt.event.ActionEvent event)
  115.         {
  116.             Object object = event.getSource();
  117.             if (object == CalcButton)
  118.                 CalcButton_ActionPerformed(event);
  119.         }
  120.     }
  121.  
  122.     void CalcButton_ActionPerformed(java.awt.event.ActionEvent event)
  123.     {
  124.         // to do: code goes here.
  125.              
  126.         CalcButton_ActionPerformed_Interaction1(event);
  127.     }
  128.  
  129.  
  130.     void CalcButton_ActionPerformed_Interaction1(java.awt.event.ActionEvent event)
  131.     {
  132. double Principal, InterestRate, LengthLoan, MonthlyPay, IntDec, NumMonths;
  133.  
  134.         try {
  135.             Principal    = ( Double.valueOf(PrincipleTextField.getText()   ) ).doubleValue();
  136.             InterestRate = ( Double.valueOf(InterestTextField.getText()) ).doubleValue();
  137.             LengthLoan   = ( Double.valueOf(LengthTextField.getText()  ) ).doubleValue();
  138.         } catch (NumberFormatException e) {return;}
  139.  
  140.         if (Principal < 0 || InterestRate < 0 || LengthLoan < 0) return;
  141.  
  142.         IntDec     = InterestRate / (12.0 * 100.0);
  143.         NumMonths  = LengthLoan * 12.0;
  144.         MonthlyPay = Principal * (IntDec / (1.0 - Math.pow((1.0 + IntDec), -NumMonths)));
  145.  
  146.         PaymentsTextField.setText(String.valueOf(MonthlyPay));    }
  147.  
  148. }
  149.